<template>
	<view class="classlist">
		<view class="loadingLayout" v-if="!classList.length  && !noData           ">
			<uni-load-more status="loading"></uni-load-more>
		</view>
		<view class="content">
			<navigator :url="'/pages/preview/preview?id='+ item._id" class="item" 
			v-for="item in classList"
			:key="item._id"
			>
				<image :src="item.smallPicurl" mode="aspectFill"></image>
			</navigator>
		</view>
		
		<view class="loadingLayout" v-if="classList.length || noData">
			<uni-load-more :status="noData?'noMore':'loading'"></uni-load-more>
		</view>
		
		<view class="safe-area-insert-bottom">
		</view>
	</view>
</template>

<script setup>
import { ref } from 'vue'
import {onLoad,onUnload,onReachBottom,onShareTimeline,onShareAppMessage} from "@dcloudio/uni-app"
import { apiGetClassList , apiGetHistoryList} from '../../api/apis';
import {gotoHome} from "@/utils/common.js"
const classList  = ref([])
const noData = ref(false)
//Params携带请求参数
const queryParams = {
	pageNum:1,
	pageSize:12
}

let pageName;
//onload生命周期获取页面参数
onLoad((e)=>{
	let {id = null,
	name = null,
	type=null} = e;
	if(type){
		queryParams.type = type
	}
	if(id){
		queryParams.classid = id;
	}
	/* if(!id){
		gotoHome();
		return
	} */
	pageName = name
	//修改导航名称
	uni.setNavigationBarTitle({
		title:name
	})
	getClassList();
})

onReachBottom(()=>{
	if(noData.value) return;
	queryParams.pageNum++
	getClassList();
})

const getClassList = async()=>{
	let res;
	if(queryParams.classid){res = await apiGetClassList(queryParams);}
	if(queryParams.type){res = await apiGetHistoryList(queryParams);}
	//数组拼接 实现下拉刷新
	classList.value = [...classList.value , ...res.data]
	if(queryParams.pageSize > res.data.length) noData.value= true;
	//存入本地缓存
	uni.setStorageSync("storgClassList",classList.value)
}

//分享给好友
onShareAppMessage((e)=>{
	return{
		title:"cheems壁纸"+pageName,
		path:"/pages/classlist/classlist?id="+queryParams.classid+"&name=" + pageName
	}
})

//分享到朋友圈
onShareTimeline(()=>{
	return{
		title:"cheems壁纸"+pageName,
		query:"id="+queryParams.classid+"&name=" + pageName
	}
})

//推出删除缓存
onUnload(()=>{
	uni.removeStorageSync("storgClassList")
})
</script>
<style lang="scss" scoped>
.classlist{
	.content{
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap:5rpx;
		padding: 5rpx;
		.item{
			height: 440rpx;
			image{
				width: 100%;
				height: 100%;
				display: block;
			}
		}
	}
}	       
</style>
